namespace ConsoleApp1;

public class Delegate
{
    public static void t1()
    {
        //delegate 运算符创建一个可以转换为委托类型的匿名方法。 匿名方法可以转换为 System.Action 和 System.Func<TResult> 等类型，用作许多方法的参数。
        // Func<int, int, int> sum = delegate(int a, int b) { return a + b; };
        Func<int, int, int> sum = (a, b) => a + b;
    }

    delegate void MyDelegate(string message);

    private static void DisplayMessage(string message)
    {
        Console.WriteLine(message);
    }

    public static void t2()
    {
        MyDelegate handler = new MyDelegate(DisplayMessage);
        handler("Hello,world!");
    }
}